package com.ruoyi.exam.serive;

import com.ruoyi.common.vo.PageResult;
import com.ruoyi.exam.domain.ExamScores;
import com.ruoyi.exam.vo.ExamRankingData;
import com.ruoyi.exam.vo.ExamRankingReqVO;
import com.ruoyi.exam.vo.ExamScoreListReqVO;
import com.ruoyi.exam.vo.ExamScoreSubmitVO;

import java.util.List;

/**
 * 考核成绩
 */
public interface IExamScoreService {

    ExamScores get(long uid ,int examId);

    /**
     * 提交实操成绩
     * @param scoreVO
     */
    void submitHandsOnScore(ExamScoreSubmitVO scoreVO);

    /**
     * 提交理论成绩
     * @param scoreVO
     */
    void submitTheoryScore(ExamScoreSubmitVO scoreVO);

    /**
     * 分页获取考核排名
     * @param rankingReqVo
     * @return
     */
    List<ExamRankingData> listRankingData(ExamRankingReqVO rankingReqVo);

    /**
     * 分页获取成绩列表
     * @return
     */
    PageResult<ExamScores> pageScores(ExamScoreListReqVO reqVO);

    /**
     * 考试结束后操作
     *  更新排名信息
     * @param examId
     */
    void onExamEnd(int examId);
}
